package com.jianbing.shasha.service.impl;

import java.util.List;

import com.jianbing.shasha.domain.ShashaUserProcess;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.jianbing.shasha.mapper.ShashaUserInfoMapper;
import com.jianbing.shasha.domain.ShashaUserInfo;
import com.jianbing.shasha.service.IShashaUserInfoService;

/**
 * shasha项目用户基本信息Service业务层处理
 * 
 * @author ruoyi
 * @date 2024-06-09
 */
@Service
public class ShashaUserInfoServiceImpl implements IShashaUserInfoService 
{
    @Autowired
    private ShashaUserInfoMapper shashaUserInfoMapper;

    /**
     * 查询shasha项目用户基本信息
     * 
     * @param userId shasha项目用户基本信息主键
     * @return shasha项目用户基本信息
     */
    @Override
    public ShashaUserInfo selectShashaUserInfoByUserId(Long userId)
    {
        return shashaUserInfoMapper.selectShashaUserInfoByUserId(userId);
    }

    /**
     * 查询shasha项目用户基本信息列表
     * 
     * @param shashaUserInfo shasha项目用户基本信息
     * @return shasha项目用户基本信息
     */
    @Override
    public List<ShashaUserInfo> selectShashaUserInfoList(ShashaUserInfo shashaUserInfo)
    {
        return shashaUserInfoMapper.selectShashaUserInfoList(shashaUserInfo);
    }

    /**
     * 新增shasha项目用户基本信息
     * 
     * @param shashaUserInfo shasha项目用户基本信息
     * @return 结果
     */
    @Override
    public int insertShashaUserInfo(ShashaUserInfo shashaUserInfo)
    {
        return shashaUserInfoMapper.insertShashaUserInfo(shashaUserInfo);
    }

    /**
     * 修改shasha项目用户基本信息
     * 
     * @param shashaUserInfo shasha项目用户基本信息
     * @return 结果
     */
    @Override
    public int updateShashaUserInfo(ShashaUserInfo shashaUserInfo)
    {
        return shashaUserInfoMapper.updateShashaUserInfo(shashaUserInfo);
    }

    /**
     * 批量删除shasha项目用户基本信息
     * 
     * @param userIds 需要删除的shasha项目用户基本信息主键
     * @return 结果
     */
    @Override
    public int deleteShashaUserInfoByUserIds(Long[] userIds)
    {
        return shashaUserInfoMapper.deleteShashaUserInfoByUserIds(userIds);
    }

    /**
     * 删除shasha项目用户基本信息信息
     * 
     * @param userId shasha项目用户基本信息主键
     * @return 结果
     */
    @Override
    public int deleteShashaUserInfoByUserId(Long userId)
    {
        return shashaUserInfoMapper.deleteShashaUserInfoByUserId(userId);
    }

    /**
     *
     * 获取huoshasha项目用户挑战进度
     * @param userId
     * @return com.jianbing.shasha.domain.ShashaUserInfo
     * @author zheng
     * @create 2024/6/10
     **/

    @Override
    public ShashaUserProcess getProcessByUserId(Long userId) {
        return shashaUserInfoMapper.getProcessByUserId(userId);
    }
}
